package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 收费项管理对象 config_fee_item
 * 
 * @author fcs
 * @date 2024-02-28
 */
public class ConfigFeeItem extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 收费项分类 */
    @Excel(name = "收费项分类")
    private String type;

    /** 收费项目名 */
    @Excel(name = "收费项目名")
    private String name;

    /** 单价 */
    @Excel(name = "单价")
    private BigDecimal price;

    /** 数量 */
    @Excel(name = "数量")
    private String numType;

    /** 费用周期(月为单位) */
    @Excel(name = "费用周期(月为单位)")
    private Long period;

    /** 费用计算公式 */
    @Excel(name = "费用计算公式")
    private String formula;

    /** 自定义 */
    private String formulaExpression;

    /** 生成类型 */
    private String generateType;

    /** 是否产生滞纳金 */
    @Excel(name = "是否产生滞纳金")
    private Long lateFeeEnable;

    /** 滞纳金天数 */
    @Excel(name = "滞纳金天数")
    private Long lateFeeDays;

    /** 滞纳金比例 */
    @Excel(name = "滞纳金比例")
    private String lateFeeRate;

    /** 创建时间 */
    private Date creatorTime;

    /** 创建用户 */
    private String creatorUserId;

    /** 修改用户 */
    private String lastModifyUserId;

    /** 修改时间 */
    private Date lastModifyTime;

    /** 删除用户 */
    private String deleteUserId;

    /** 删除时间 */
    private Date deleteTime;

    /** 有效标志 */
    private Long enabledMark;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }
    public void setNumType(String numType) 
    {
        this.numType = numType;
    }

    public String getNumType() 
    {
        return numType;
    }
    public void setPeriod(Long period) 
    {
        this.period = period;
    }

    public Long getPeriod() 
    {
        return period;
    }
    public void setFormula(String formula) 
    {
        this.formula = formula;
    }

    public String getFormula() 
    {
        return formula;
    }
    public void setFormulaExpression(String formulaExpression) 
    {
        this.formulaExpression = formulaExpression;
    }

    public String getFormulaExpression() 
    {
        return formulaExpression;
    }
    public void setGenerateType(String generateType) 
    {
        this.generateType = generateType;
    }

    public String getGenerateType() 
    {
        return generateType;
    }
    public void setLateFeeEnable(Long lateFeeEnable) 
    {
        this.lateFeeEnable = lateFeeEnable;
    }

    public Long getLateFeeEnable() 
    {
        return lateFeeEnable;
    }
    public void setLateFeeDays(Long lateFeeDays) 
    {
        this.lateFeeDays = lateFeeDays;
    }

    public Long getLateFeeDays() 
    {
        return lateFeeDays;
    }
    public void setLateFeeRate(String lateFeeRate) 
    {
        this.lateFeeRate = lateFeeRate;
    }

    public String getLateFeeRate() 
    {
        return lateFeeRate;
    }
    public void setCreatorTime(Date creatorTime) 
    {
        this.creatorTime = creatorTime;
    }

    public Date getCreatorTime() 
    {
        return creatorTime;
    }
    public void setCreatorUserId(String creatorUserId) 
    {
        this.creatorUserId = creatorUserId;
    }

    public String getCreatorUserId() 
    {
        return creatorUserId;
    }
    public void setLastModifyUserId(String lastModifyUserId) 
    {
        this.lastModifyUserId = lastModifyUserId;
    }

    public String getLastModifyUserId() 
    {
        return lastModifyUserId;
    }
    public void setLastModifyTime(Date lastModifyTime) 
    {
        this.lastModifyTime = lastModifyTime;
    }

    public Date getLastModifyTime() 
    {
        return lastModifyTime;
    }
    public void setDeleteUserId(String deleteUserId) 
    {
        this.deleteUserId = deleteUserId;
    }

    public String getDeleteUserId() 
    {
        return deleteUserId;
    }
    public void setDeleteTime(Date deleteTime) 
    {
        this.deleteTime = deleteTime;
    }

    public Date getDeleteTime() 
    {
        return deleteTime;
    }
    public void setEnabledMark(Long enabledMark) 
    {
        this.enabledMark = enabledMark;
    }

    public Long getEnabledMark() 
    {
        return enabledMark;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("type", getType())
            .append("name", getName())
            .append("price", getPrice())
            .append("numType", getNumType())
            .append("period", getPeriod())
            .append("formula", getFormula())
            .append("formulaExpression", getFormulaExpression())
            .append("generateType", getGenerateType())
            .append("lateFeeEnable", getLateFeeEnable())
            .append("lateFeeDays", getLateFeeDays())
            .append("lateFeeRate", getLateFeeRate())
            .append("creatorTime", getCreatorTime())
            .append("creatorUserId", getCreatorUserId())
            .append("lastModifyUserId", getLastModifyUserId())
            .append("lastModifyTime", getLastModifyTime())
            .append("deleteUserId", getDeleteUserId())
            .append("deleteTime", getDeleteTime())
            .append("enabledMark", getEnabledMark())
            .toString();
    }
}
